Showing a message when the column is true
up vote
1
down vote
favorite
I'm making an app using Rails. I have 4 boolean columns in a table like below, and I want to show a message if that column is true.
class CreatePosts < ActiveRecord::Migration[5.2]
def change
create_table :posts do |t|
t.integer :user_id, null: false, default: 0
t.string :title, null: false, default: ''
t.text :description, null: true
t.boolean :tag_1, null: false, default: false
t.boolean :tag_2, null: false, default: false
t.boolean :tag_3, null: false, default: false
t.boolean :tag_4, null: false, default: false
t.timestamps
end
end
posts_controller.rb
def index
@posts = Post.all
end
index.html.erb
<% @posts.each do |post| %>
<ul>
<% if post.tag_1 %>
<li><%= 'tag_name_A' %></li>
<% end %>
<% if post.tag_2 %>
<li><%= 'tag_name_B' %></li>
<% end %>
<% if post.tag_3 %>
<li><%= 'tag_name_C' %></li>
<% end %>
<% if post.tag_4 %>
<li><%= 'tag_name_D' %></li>
<% end %>
<% if !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 %>
<li>none</li>
<% end %>
</ul>
<% end %>
So 'tag_name_A' will be shown if tag_1 is the only true column, and there'll be 'tag_name_B' & 'tag_name_D' shown if tag_2 and tag_4 are both true. (I hope I'm making myself clear.)
These codes are working fine and I'm already getting what I want, but I just don't like how they are written. It looks messy and obviously not smart. (You can tell that I'm a newbie.) How would you optimize them?
ruby-on-rails
New contributor
ta539tg70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
up vote
1
down vote
favorite
I'm making an app using Rails. I have 4 boolean columns in a table like below, and I want to show a message if that column is true.
class CreatePosts < ActiveRecord::Migration[5.2]
def change
create_table :posts do |t|
t.integer :user_id, null: false, default: 0
t.string :title, null: false, default: ''
t.text :description, null: true
t.boolean :tag_1, null: false, default: false
t.boolean :tag_2, null: false, default: false
t.boolean :tag_3, null: false, default: false
t.boolean :tag_4, null: false, default: false
t.timestamps
end
end
posts_controller.rb
def index
@posts = Post.all
end
index.html.erb
<% @posts.each do |post| %>
<ul>
<% if post.tag_1 %>
<li><%= 'tag_name_A' %></li>
<% end %>
<% if post.tag_2 %>
<li><%= 'tag_name_B' %></li>
<% end %>
<% if post.tag_3 %>
<li><%= 'tag_name_C' %></li>
<% end %>
<% if post.tag_4 %>
<li><%= 'tag_name_D' %></li>
<% end %>
<% if !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 %>
<li>none</li>
<% end %>
</ul>
<% end %>
So 'tag_name_A' will be shown if tag_1 is the only true column, and there'll be 'tag_name_B' & 'tag_name_D' shown if tag_2 and tag_4 are both true. (I hope I'm making myself clear.)
These codes are working fine and I'm already getting what I want, but I just don't like how they are written. It looks messy and obviously not smart. (You can tell that I'm a newbie.) How would you optimize them?
ruby-on-rails
New contributor
ta539tg70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Is using 4 boolean columns a requirement? That's not really the right way to build a tagging system. Typically you you use something like a tags table and a junction table joining posts to tags, which lets you have an arbitrary number of tags and makes the data a lot easier to work with.
– meagar
12 hours ago
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I'm making an app using Rails. I have 4 boolean columns in a table like below, and I want to show a message if that column is true.
class CreatePosts < ActiveRecord::Migration[5.2]
def change
create_table :posts do |t|
t.integer :user_id, null: false, default: 0
t.string :title, null: false, default: ''
t.text :description, null: true
t.boolean :tag_1, null: false, default: false
t.boolean :tag_2, null: false, default: false
t.boolean :tag_3, null: false, default: false
t.boolean :tag_4, null: false, default: false
t.timestamps
end
end
posts_controller.rb
def index
@posts = Post.all
end
index.html.erb
<% @posts.each do |post| %>
<ul>
<% if post.tag_1 %>
<li><%= 'tag_name_A' %></li>
<% end %>
<% if post.tag_2 %>
<li><%= 'tag_name_B' %></li>
<% end %>
<% if post.tag_3 %>
<li><%= 'tag_name_C' %></li>
<% end %>
<% if post.tag_4 %>
<li><%= 'tag_name_D' %></li>
<% end %>
<% if !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 %>
<li>none</li>
<% end %>
</ul>
<% end %>
So 'tag_name_A' will be shown if tag_1 is the only true column, and there'll be 'tag_name_B' & 'tag_name_D' shown if tag_2 and tag_4 are both true. (I hope I'm making myself clear.)
These codes are working fine and I'm already getting what I want, but I just don't like how they are written. It looks messy and obviously not smart. (You can tell that I'm a newbie.) How would you optimize them?
ruby-on-rails
New contributor
ta539tg70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I'm making an app using Rails. I have 4 boolean columns in a table like below, and I want to show a message if that column is true.
class CreatePosts < ActiveRecord::Migration[5.2]
def change
create_table :posts do |t|
t.integer :user_id, null: false, default: 0
t.string :title, null: false, default: ''
t.text :description, null: true
t.boolean :tag_1, null: false, default: false
t.boolean :tag_2, null: false, default: false
t.boolean :tag_3, null: false, default: false
t.boolean :tag_4, null: false, default: false
t.timestamps
end
end
posts_controller.rb
def index
@posts = Post.all
end
index.html.erb
<% @posts.each do |post| %>
<ul>
<% if post.tag_1 %>
<li><%= 'tag_name_A' %></li>
<% end %>
<% if post.tag_2 %>
<li><%= 'tag_name_B' %></li>
<% end %>
<% if post.tag_3 %>
<li><%= 'tag_name_C' %></li>
<% end %>
<% if post.tag_4 %>
<li><%= 'tag_name_D' %></li>
<% end %>
<% if !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 %>
<li>none</li>
<% end %>
</ul>
<% end %>
So 'tag_name_A' will be shown if tag_1 is the only true column, and there'll be 'tag_name_B' & 'tag_name_D' shown if tag_2 and tag_4 are both true. (I hope I'm making myself clear.)
These codes are working fine and I'm already getting what I want, but I just don't like how they are written. It looks messy and obviously not smart. (You can tell that I'm a newbie.) How would you optimize them?
ruby-on-rails
ruby-on-rails
New contributor
ta539tg70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
ta539tg70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
ta539tg70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked yesterday
ta539tg70
61
61
New contributor
ta539tg70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
ta539tg70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
ta539tg70 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Is using 4 boolean columns a requirement? That's not really the right way to build a tagging system. Typically you you use something like a tags table and a junction table joining posts to tags, which lets you have an arbitrary number of tags and makes the data a lot easier to work with.
– meagar
12 hours ago
add a comment |
Is using 4 boolean columns a requirement? That's not really the right way to build a tagging system. Typically you you use something like a tags table and a junction table joining posts to tags, which lets you have an arbitrary number of tags and makes the data a lot easier to work with.
– meagar
12 hours ago
Is using 4 boolean columns a requirement? That's not really the right way to build a tagging system. Typically you you use something like a tags table and a junction table joining posts to tags, which lets you have an arbitrary number of tags and makes the data a lot easier to work with.
– meagar
12 hours ago
Is using 4 boolean columns a requirement? That's not really the right way to build a tagging system. Typically you you use something like a tags table and a junction table joining posts to tags, which lets you have an arbitrary number of tags and makes the data a lot easier to work with.
– meagar
12 hours ago
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
There's a lot of great work here, I have a few suggestions, I'll start with a few recommended changes, and finish with some suggestions for improvements.
Let's firstly take a look at your migration.
Do not set a default on a foreign key column. Your user_id defaults to 0, which could be an actual user record, so if a record was ever (somehow) created or modified to without a user_id, it would suddenly belong to that user.
You can take this opportunity to add an index on the user_id for the posts table, it will make certain requests significantly faster, such as looking up all of the posts belonging to one user.
Moving on to your view.
You can add a method to your Post model to indicate if the post has no tags. Rather than using !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 in the view, we can make a method to handle that logic for us.
Imagine something like this in your Post model:
def no_tags?
!tag_1 && !tag_2 && !tag_3 && !tag_4
end
This would mean you could change your view from:
<% if !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 %>
<li>none</li>
<% end %>
to:
<% if post.no_tags? %>
<li>none</li>
<% end %>
which I think reads a lot more easily. This kind of method, where you're not modifying data but simply reading it, is sometimes refactored (tidied up) using design patterns like decorators or presenters. It's common to have methods that are really only used for the presentation of data, rather than manipulation, and those design patterns can help keep them away from the business logic of the model.
Those are the first minor changes I'd make to this code, without significantly changing the architecture. If you wanted to take it further, however, I would suggest the following.
It's clear from what you've said in your post that you can see there's something not quite right. Those conditionals in the view are probably the obvious 'smell'.
Think through a moment, and consider what you would do if you needed to add another tag.
You'd first need to add a column in the posts table, to store the boolean value. You'd need to modify our new no_tags? method to include tag_5, and you'd need to change the view to add another conditional, checking to see if tag_5 was present.
I think you'll be much better off if you define a many-to-many relationship between the Post model and a new Tag model. Each tag model can have a name, and your post model will has_and_belongs_to_many tags, allowing you to change your view code to something like:
<% post.tags.each do |tag| %>
<li><%= tag.name %></li>
<% end %>
I recommend you read the rails guide on relationships, specifically: https://guides.rubyonrails.org/association_basics.html#has-and-belongs-to-many-association-reference
New contributor
Dan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Thank you so much for your kind reply. It's really helpful. The only thing that I'm still unclear is to not set a default value on a foreign key column. Should I allowNULLand not set a default, or should I keep itNOT NULLwithout setting a default? (It feels weird setting itNOT NULLwithout giving a default value. Is that a right thing to do?)
– ta539tg70
26 mins ago
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
There's a lot of great work here, I have a few suggestions, I'll start with a few recommended changes, and finish with some suggestions for improvements.
Let's firstly take a look at your migration.
Do not set a default on a foreign key column. Your user_id defaults to 0, which could be an actual user record, so if a record was ever (somehow) created or modified to without a user_id, it would suddenly belong to that user.
You can take this opportunity to add an index on the user_id for the posts table, it will make certain requests significantly faster, such as looking up all of the posts belonging to one user.
Moving on to your view.
You can add a method to your Post model to indicate if the post has no tags. Rather than using !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 in the view, we can make a method to handle that logic for us.
Imagine something like this in your Post model:
def no_tags?
!tag_1 && !tag_2 && !tag_3 && !tag_4
end
This would mean you could change your view from:
<% if !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 %>
<li>none</li>
<% end %>
to:
<% if post.no_tags? %>
<li>none</li>
<% end %>
which I think reads a lot more easily. This kind of method, where you're not modifying data but simply reading it, is sometimes refactored (tidied up) using design patterns like decorators or presenters. It's common to have methods that are really only used for the presentation of data, rather than manipulation, and those design patterns can help keep them away from the business logic of the model.
Those are the first minor changes I'd make to this code, without significantly changing the architecture. If you wanted to take it further, however, I would suggest the following.
It's clear from what you've said in your post that you can see there's something not quite right. Those conditionals in the view are probably the obvious 'smell'.
Think through a moment, and consider what you would do if you needed to add another tag.
You'd first need to add a column in the posts table, to store the boolean value. You'd need to modify our new no_tags? method to include tag_5, and you'd need to change the view to add another conditional, checking to see if tag_5 was present.
I think you'll be much better off if you define a many-to-many relationship between the Post model and a new Tag model. Each tag model can have a name, and your post model will has_and_belongs_to_many tags, allowing you to change your view code to something like:
<% post.tags.each do |tag| %>
<li><%= tag.name %></li>
<% end %>
I recommend you read the rails guide on relationships, specifically: https://guides.rubyonrails.org/association_basics.html#has-and-belongs-to-many-association-reference
New contributor
Dan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Thank you so much for your kind reply. It's really helpful. The only thing that I'm still unclear is to not set a default value on a foreign key column. Should I allowNULLand not set a default, or should I keep itNOT NULLwithout setting a default? (It feels weird setting itNOT NULLwithout giving a default value. Is that a right thing to do?)
– ta539tg70
26 mins ago
add a comment |
up vote
1
down vote
There's a lot of great work here, I have a few suggestions, I'll start with a few recommended changes, and finish with some suggestions for improvements.
Let's firstly take a look at your migration.
Do not set a default on a foreign key column. Your user_id defaults to 0, which could be an actual user record, so if a record was ever (somehow) created or modified to without a user_id, it would suddenly belong to that user.
You can take this opportunity to add an index on the user_id for the posts table, it will make certain requests significantly faster, such as looking up all of the posts belonging to one user.
Moving on to your view.
You can add a method to your Post model to indicate if the post has no tags. Rather than using !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 in the view, we can make a method to handle that logic for us.
Imagine something like this in your Post model:
def no_tags?
!tag_1 && !tag_2 && !tag_3 && !tag_4
end
This would mean you could change your view from:
<% if !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 %>
<li>none</li>
<% end %>
to:
<% if post.no_tags? %>
<li>none</li>
<% end %>
which I think reads a lot more easily. This kind of method, where you're not modifying data but simply reading it, is sometimes refactored (tidied up) using design patterns like decorators or presenters. It's common to have methods that are really only used for the presentation of data, rather than manipulation, and those design patterns can help keep them away from the business logic of the model.
Those are the first minor changes I'd make to this code, without significantly changing the architecture. If you wanted to take it further, however, I would suggest the following.
It's clear from what you've said in your post that you can see there's something not quite right. Those conditionals in the view are probably the obvious 'smell'.
Think through a moment, and consider what you would do if you needed to add another tag.
You'd first need to add a column in the posts table, to store the boolean value. You'd need to modify our new no_tags? method to include tag_5, and you'd need to change the view to add another conditional, checking to see if tag_5 was present.
I think you'll be much better off if you define a many-to-many relationship between the Post model and a new Tag model. Each tag model can have a name, and your post model will has_and_belongs_to_many tags, allowing you to change your view code to something like:
<% post.tags.each do |tag| %>
<li><%= tag.name %></li>
<% end %>
I recommend you read the rails guide on relationships, specifically: https://guides.rubyonrails.org/association_basics.html#has-and-belongs-to-many-association-reference
New contributor
Dan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Thank you so much for your kind reply. It's really helpful. The only thing that I'm still unclear is to not set a default value on a foreign key column. Should I allowNULLand not set a default, or should I keep itNOT NULLwithout setting a default? (It feels weird setting itNOT NULLwithout giving a default value. Is that a right thing to do?)
– ta539tg70
26 mins ago
add a comment |
up vote
1
down vote
up vote
1
down vote
There's a lot of great work here, I have a few suggestions, I'll start with a few recommended changes, and finish with some suggestions for improvements.
Let's firstly take a look at your migration.
Do not set a default on a foreign key column. Your user_id defaults to 0, which could be an actual user record, so if a record was ever (somehow) created or modified to without a user_id, it would suddenly belong to that user.
You can take this opportunity to add an index on the user_id for the posts table, it will make certain requests significantly faster, such as looking up all of the posts belonging to one user.
Moving on to your view.
You can add a method to your Post model to indicate if the post has no tags. Rather than using !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 in the view, we can make a method to handle that logic for us.
Imagine something like this in your Post model:
def no_tags?
!tag_1 && !tag_2 && !tag_3 && !tag_4
end
This would mean you could change your view from:
<% if !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 %>
<li>none</li>
<% end %>
to:
<% if post.no_tags? %>
<li>none</li>
<% end %>
which I think reads a lot more easily. This kind of method, where you're not modifying data but simply reading it, is sometimes refactored (tidied up) using design patterns like decorators or presenters. It's common to have methods that are really only used for the presentation of data, rather than manipulation, and those design patterns can help keep them away from the business logic of the model.
Those are the first minor changes I'd make to this code, without significantly changing the architecture. If you wanted to take it further, however, I would suggest the following.
It's clear from what you've said in your post that you can see there's something not quite right. Those conditionals in the view are probably the obvious 'smell'.
Think through a moment, and consider what you would do if you needed to add another tag.
You'd first need to add a column in the posts table, to store the boolean value. You'd need to modify our new no_tags? method to include tag_5, and you'd need to change the view to add another conditional, checking to see if tag_5 was present.
I think you'll be much better off if you define a many-to-many relationship between the Post model and a new Tag model. Each tag model can have a name, and your post model will has_and_belongs_to_many tags, allowing you to change your view code to something like:
<% post.tags.each do |tag| %>
<li><%= tag.name %></li>
<% end %>
I recommend you read the rails guide on relationships, specifically: https://guides.rubyonrails.org/association_basics.html#has-and-belongs-to-many-association-reference
New contributor
Dan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
There's a lot of great work here, I have a few suggestions, I'll start with a few recommended changes, and finish with some suggestions for improvements.
Let's firstly take a look at your migration.
Do not set a default on a foreign key column. Your user_id defaults to 0, which could be an actual user record, so if a record was ever (somehow) created or modified to without a user_id, it would suddenly belong to that user.
You can take this opportunity to add an index on the user_id for the posts table, it will make certain requests significantly faster, such as looking up all of the posts belonging to one user.
Moving on to your view.
You can add a method to your Post model to indicate if the post has no tags. Rather than using !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 in the view, we can make a method to handle that logic for us.
Imagine something like this in your Post model:
def no_tags?
!tag_1 && !tag_2 && !tag_3 && !tag_4
end
This would mean you could change your view from:
<% if !post.tag_1 && !post.tag_2 && !post.tag_3 && !post.tag_4 %>
<li>none</li>
<% end %>
to:
<% if post.no_tags? %>
<li>none</li>
<% end %>
which I think reads a lot more easily. This kind of method, where you're not modifying data but simply reading it, is sometimes refactored (tidied up) using design patterns like decorators or presenters. It's common to have methods that are really only used for the presentation of data, rather than manipulation, and those design patterns can help keep them away from the business logic of the model.
Those are the first minor changes I'd make to this code, without significantly changing the architecture. If you wanted to take it further, however, I would suggest the following.
It's clear from what you've said in your post that you can see there's something not quite right. Those conditionals in the view are probably the obvious 'smell'.
Think through a moment, and consider what you would do if you needed to add another tag.
You'd first need to add a column in the posts table, to store the boolean value. You'd need to modify our new no_tags? method to include tag_5, and you'd need to change the view to add another conditional, checking to see if tag_5 was present.
I think you'll be much better off if you define a many-to-many relationship between the Post model and a new Tag model. Each tag model can have a name, and your post model will has_and_belongs_to_many tags, allowing you to change your view code to something like:
<% post.tags.each do |tag| %>
<li><%= tag.name %></li>
<% end %>
I recommend you read the rails guide on relationships, specifically: https://guides.rubyonrails.org/association_basics.html#has-and-belongs-to-many-association-reference
New contributor
Dan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Dan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
answered 21 hours ago
Dan
111
111
New contributor
Dan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Dan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Dan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Thank you so much for your kind reply. It's really helpful. The only thing that I'm still unclear is to not set a default value on a foreign key column. Should I allowNULLand not set a default, or should I keep itNOT NULLwithout setting a default? (It feels weird setting itNOT NULLwithout giving a default value. Is that a right thing to do?)
– ta539tg70
26 mins ago
add a comment |
Thank you so much for your kind reply. It's really helpful. The only thing that I'm still unclear is to not set a default value on a foreign key column. Should I allowNULLand not set a default, or should I keep itNOT NULLwithout setting a default? (It feels weird setting itNOT NULLwithout giving a default value. Is that a right thing to do?)
– ta539tg70
26 mins ago
Thank you so much for your kind reply. It's really helpful. The only thing that I'm still unclear is to not set a default value on a foreign key column. Should I allow
NULL and not set a default, or should I keep it NOT NULL without setting a default? (It feels weird setting it NOT NULL without giving a default value. Is that a right thing to do?)– ta539tg70
26 mins ago
Thank you so much for your kind reply. It's really helpful. The only thing that I'm still unclear is to not set a default value on a foreign key column. Should I allow
NULL and not set a default, or should I keep it NOT NULL without setting a default? (It feels weird setting it NOT NULL without giving a default value. Is that a right thing to do?)– ta539tg70
26 mins ago
add a comment |
ta539tg70 is a new contributor. Be nice, and check out our Code of Conduct.
ta539tg70 is a new contributor. Be nice, and check out our Code of Conduct.
ta539tg70 is a new contributor. Be nice, and check out our Code of Conduct.
ta539tg70 is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f208853%2fshowing-a-message-when-the-column-is-true%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Is using 4 boolean columns a requirement? That's not really the right way to build a tagging system. Typically you you use something like a tags table and a junction table joining posts to tags, which lets you have an arbitrary number of tags and makes the data a lot easier to work with.
– meagar
12 hours ago