小编Chr*_*len的帖子

rails-在连接表中创建记录

我正在尝试通过按钮的操作在连接表中创建记录.为了解释,我会有一个事件模型,并希望跟踪每个用户的选定事件.

我使用HABTM关系,因为我真的不需要任何额外的字段.

User.rb => has_to_and_belongs_to_many:events Event.rb => has_to_and_belongs_to_many:users Events_Users Migration => [user_id,event_id,id => false]

所以我认为我会这样做是....

users_controller.rb =>

def add_event
@user = User.find(session[:user_id])
params[:user][:event_ids] ||= []
  if @user.update_attributes(params[:user])
      flash[:notice]='Added to My Events'
  redirect_to :action => "index"
      end  
 end
Run Code Online (Sandbox Code Playgroud)

和btn_link看起来像....

<% @events.each do |event| %>
<%= link_to image_tag("heart.gif"), :controller => 'user', :action => 'add_event' %>
<%=h event.name %>
<%=h event.description %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但我不知道如何检查它是否正常工作......我将如何在控制台中执行这些操作,以便检查是否添加了记录?

u = User.find(1)
e = Event.find(1)
Run Code Online (Sandbox Code Playgroud)

????? x = uecreate ?????

join ruby-on-rails

4
推荐指数
1
解决办法
2169
查看次数

Git&Rails - 我搞砸了,我可以恢复到最后一次提交(删除模型/控制器/迁移/代码)

这是我第一次使用任何类型的版本控制(git),并且很高兴有机会看到它的工作原理......我对它的全部内容感到有点困惑.

我有一个主分支,我保持所有测试,一切工作提交....我目前在开发分支,我正在添加一些新功能.

我添加了一个模型/控制器并迁移了数据库并创建了一些路由.

我没有提交任何这些更改,因为我在这个过程的某个地方以某种主要方式进行了调整.

我怎样才能恢复到开发分支的最后状态...模型/控制器/迁移的预生成......一切正常.

是否有一个命令将更改数据库以及其他所有内容..

我正在使用rails 3和sqlite,如果这有帮助的话

谢谢

git version-control ruby-on-rails

3
推荐指数
1
解决办法
3041
查看次数

HABTM关系和连接表

我正在尝试连接两个连接表的值,并根据条件关系显示结果......我遇到了一些问题

我有一个用户模型(:name,:password,:email)和Events模型(:name,:etc)和Interests模型(:name)

我在每个模型中创建了大约5条记录.

然后我创建了两个连接表 - > UsersInterests和EventsInterests; 每个都不包含主键,并且分别仅包含user_id/interest_id和event_id/interest_id.

然后我将HABTM关系添加到模型文件中

users => has_and_belongs_to_many :interests
events => has_and_belongs_to_many :interests
interests => has_and_belongs_to_many :users
         has_and_belongs_to_many :events
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个控制器,只找到用户兴趣与事件兴趣相对应的事件

从一段时间的工作开始,我认为我需要一些东西

@Events = Event.User.find([condition])
[condition] = where users.interest == event.interest
Run Code Online (Sandbox Code Playgroud)

或类似的东西...我有点迷失.你如何陈述查找条件?...我知道如何在sql中进行内连接但我正在寻找优雅的Rails方法来做到这一点. ..任何提示家伙?

ruby-on-rails relational-database has-and-belongs-to-many

2
推荐指数
1
解决办法
5287
查看次数

Rails - .gitignore没有"配对"命令 - 使用InstantRails?

嘿伙计们,这是我第一次使用任何类型的版本控制制作应用程序,它的想法听起来很棒.我刚刚开始并使用一些教程来弄明白.

我创建了我的应用....

rails example
Run Code Online (Sandbox Code Playgroud)

然后启动git .....

git init
Run Code Online (Sandbox Code Playgroud)

现在我想制作一个大多数教程都使用的.gitignore文件

mate .gitinit
Run Code Online (Sandbox Code Playgroud)

可悲的是我没有TextMate,虽然我看到它是如何完全令人敬畏的...所以我问在即时栏中创建.gitignore文件的命令是什么,这是我一直在使用的环境?我对使用所有这些命令行的东西都没有太多经验.

所以是的,我的问题是,如果我没有配合命令,我怎么能制作.gitignore文件?

git command-line ruby-on-rails

2
推荐指数
1
解决办法
2288
查看次数

Rails - 无法在表单中设置date_select的值

我从日期数据输入的API中提取数据为"2008-02-11 00:00:00"

我希望这些数据作为一个值进入date_select中的表单,这样我就可以在将它添加到数据库之前正确查看.

视图看起来像

<%= f.label :start_date %><br />
<%= f.date_select :start_date, :value => " #{@stdate[idx]} " %>
Run Code Online (Sandbox Code Playgroud)

该对象实际上是一个日期数组,因为我多次执行此操作就是为什么[idx]存在; 作为指数.

<%= @stdate [idx]%>最终输出"2008-02-11 00:00:00",但date_select助手的字段仅在那些下拉日期输出当前日期"2010""June""5"选择字段......

我是否需要单独设置年份,月份和日期的值?我有Chronic并尝试解析对象,然后将其用作date_select的值,并且也没有用.

有任何想法吗?

forms datetime ruby-on-rails date

2
推荐指数
1
解决办法
4059
查看次数

Rails - 如何设置可属于3种不同模型的模型

我正在尝试制作一个类似于您在学校体验的测试应用.

我有一个模型问题,可以属于考试,测验或作业.

我应该为":exam_id,:integer,:null => false;:quiz_id,:integer,:null => false;:assignment_id,:integer,:null => false;"创建字段?

问题将属于其中一个或几个或全部(因此我可以在差异模型中重复使用相同的问题).

我应该删除:null => false,以便它可以属于它们中的任何一个......或者设置它的最佳方法是什么?

database model ruby-on-rails relational-database

2
推荐指数
1
解决办法
760
查看次数

使用网络摄像头的Web应用程序...任何Rails插件/宝石?

我; ma开发人员希望制作类似于聊天轮盘的应用.我很熟悉Ruby on Rails作为我的平台,并希望对其进行编程.

缺点是我不知道如何使用网络摄像头做任何事情.

是否有轻松集成网络摄像头的导轨插件或宝石?

一些快速浏览把我带到了abobes网站......但我之前没有使用它,虽然我不介意学习新东西,但我想快速解决这个问题,所以我宁愿坚持我所知道的.

你用什么做网络摄像头?

webcam gem plugins ruby-on-rails

2
推荐指数
1
解决办法
1047
查看次数

rails - 如何设置具有多个/属于关系的模型的新记录的id值?

我正在尝试创建一个has_many和belongs_to关系中的记录

用户hasmany帖子和帖子属于用户

@post = Post.new( params[:post], :user_id => current_user.id )
@post.save
Run Code Online (Sandbox Code Playgroud)

但我一直错误地得到错误的参数数量.

我能以某种方式自动设置Post模型的user_id字段吗?我正在使用Devise,这是current_user调用的来源.

ruby-on-rails has-many belongs-to

2
推荐指数
1
解决办法
2589
查看次数

Rails - 查找不存在其他连接表的记录

我正在尝试写一个ActiveRecord语句,我正在寻找其他表中不存在id的所有记录......

什么是语法?

 @events =  Event.find(:all, :include => :personals, 
                  :conditions => ["event.id != ? ", @user.personal.event_id ])
Run Code Online (Sandbox Code Playgroud)

personals是一个具有user_id和event_id的连接表....

所以我基本上试图找到用户没有添加到他们自己的个人记录集的每个事件记录....

有没有更好的方法来写这个....不是null或什么?

activerecord ruby-on-rails

1
推荐指数
3
解决办法
8243
查看次数

Ruby/Rails - 限制对象/哈希的大小

我有一个名为@events的对象,包含从我的模型的查找条件中提取的大约50条记录.

我目前正在我的视图中显示@object的结果....

<% for event in @events %>
    <p><%= @event.name %></p>           
<% end %>
Run Code Online (Sandbox Code Playgroud)

我没有显示整个50,而是将设置缩小到大约10条记录,因此它在页面上显示得更好.

我不能使用:限制查找条件,因为对象是由各种循环组成的,每次迭代后它都会添加一些特定的记录.

所以问题是我有这个对象@events有50条记录,如何在组成对象后更改对象,这样只剩下前10条记录?

ruby ruby-on-rails

1
推荐指数
1
解决办法
6546
查看次数