我有一个帖子控制器,可以让你选择一个职业。我还有一个工作控制器,其中包含以逗号分隔的专业列表。例如:
Post有一行名为profession,只允许你选择1。
工作有一行称为专业,存储方式如下:业务,法律,会计。
我想要做的是,一旦你保存你的帖子,带你到一个页面,显示职业等于职业专业的工作。 (仅限相关工作展示)
我将如何做到这一点?
答案 0 :(得分:0)
这听起来像你正在尝试做的事情。
<强> posts_controller.rb 强>
def create
@post = Post.create(post_params)
if @post.save
redirect_to some_other_path(post_id: @post.id)
else
# handle error
end
end
<强> some_controller.rb 强>
def some_action
@post = Post.find(params[:post_id])
@works = Work.where("profession like ?", "%#{@post.profession}%")
end
由于您正在使用Postgres,因此您可以使用like
来匹配字段中的模式。这更像是一种搜索功能,而不是一种关联记录的方式。因此,如果你有一个专业的&#34;市场&#34;,那么匹配&#34;市场&#34; 和&#34;营销&#34;。
将职业作为一个单独的模型可能会更清洁,更容易。帖子可以属于_to,而工作可能有很多。